-
Notifications
You must be signed in to change notification settings - Fork 372
Synching and Dropping Models
Lawrence Selvy edited this page Feb 27, 2014
·
11 revisions
###Synching
Below is an example taken from (sql-ddl-sync)[https://github.com/lselvy/node-sql-ddl-sync?source=c].
Install orm & the required driver (eg: mysql).
Create a file with the contents below and change insert your database credentials.
Run once and you'll see table ddl_sync_test appear in your database. Then make some changes to it (add/drop/change columns)
and run the code again. Your table should always return to the same structure.
var orm = require("orm");
var mysql = require("mysql");
var Sync = require("sql-ddl-sync").Sync;
orm.connect("mysql://username:password@localhost/database", function (err, db) {
if (err) throw err;
var driver = db.driver;
var sync = new Sync({
dialect : "mysql",
driver : driver,
debug : function (text) {
console.log("> %s", text);
}
});
sync.defineCollection("ddl_sync_test", {
id : { type : "number", primary: true, serial: true },
name : { type : "text", required: true },
age : { type : "number", rational: true },
male : { type : "boolean" },
born : { type : "date", time: true },
born2 : { type : "date" },
int2 : { type : "number", size: 2 },
int4 : { type : "number", size: 4 },
int8 : { type : "number", size: 8 },
float4 : { type : "number", rational: true, size: 4 },
float8 : { type : "number", rational: true, size: 8 },
type : { type : "enum", values: [ 'dog', 'cat'], defaultValue: 'dog', required: true },
photo : { type : "binary" }
});
sync.sync(function (err) {
if (err) {
console.log("> Sync Error");
console.log(err);
} else {
console.log("> Sync Done");
}
process.exit(0);
});
});