Esempio n. 1
0
 def alter_change_column(self, table, column, field):
     """Support change columns."""
     field_null, field.null = field.null, True
     field_clause = self.database.compiler().field_definition(field)
     field.null = field_null
     return Clause(SQL('ALTER TABLE'), Entity(table), SQL('ALTER COLUMN'),
                   field_clause)
Esempio n. 2
0
 def alter_change_column(self, table, column_name, field):
     """Support change columns."""
     clause = super(PostgresqlMigrator,
                    self).alter_change_column(table, column_name, field)
     field_clause = clause.nodes[-1]
     field_clause.nodes.insert(1, SQL('TYPE'))
     return clause
Esempio n. 3
0
 def alter_add_column(self, table, column_name, field):
     """Keep fieldname unchanged."""
     # Make field null at first.
     field_null, field.null = field.null, True
     field.db_column = column_name
     field_clause = self.database.compiler().field_definition(field)
     field.null = field_null
     parts = [
         SQL('ALTER TABLE'),
         Entity(table),
         SQL('ADD COLUMN'), field_clause
     ]
     if isinstance(field, pw.ForeignKeyField):
         parts.extend(self.get_inline_fk_sql(field))
     else:
         field.name = column_name
     return Clause(*parts)
Esempio n. 4
0
 def sql(self, sql, *params):
     """Execute raw SQL."""
     return Clause(SQL(sql, *params))