platform/packages/orm/angel_migration/example/main.dart

43 lines
1,010 B
Dart
Raw Permalink Normal View History

2019-02-14 17:15:34 +00:00
/// These are straightforward migrations.
///
/// You will likely never have to actually write these yourself.
library protevus_migration.example.todo;
2019-02-14 17:15:34 +00:00
import 'package:protevus_migration/protevus_migration.dart';
2019-02-14 17:15:34 +00:00
class UserMigration implements Migration {
@override
void up(Schema schema) {
schema.create('users', (table) {
table
..serial('id').primaryKey()
..varChar('username', length: 32).unique()
..varChar('password')
..boolean('account_confirmed').defaultsTo(false);
});
}
@override
void down(Schema schema) {
schema.drop('users');
}
}
class TodoMigration implements Migration {
@override
void up(Schema schema) {
schema.create('todos', (table) {
table
..serial('id').primaryKey()
..integer('user_id').references('users', 'id').onDeleteCascade()
..varChar('text')
..boolean('completed').defaultsTo(false);
});
}
@override
void down(Schema schema) {
schema.drop('todos');
}
}