| 219 | | table_output = [style.SQL_KEYWORD('CREATE TABLE') + ' ' + \ |
|---|
| 220 | | style.SQL_TABLE(backend.quote_name(f.m2m_db_table())) + ' ('] |
|---|
| 221 | | table_output.append(' %s %s %s,' % \ |
|---|
| 222 | | (style.SQL_FIELD(backend.quote_name('id')), |
|---|
| 223 | | style.SQL_COLTYPE(data_types['AutoField']), |
|---|
| 224 | | style.SQL_KEYWORD('NOT NULL PRIMARY KEY'))) |
|---|
| 225 | | table_output.append(' %s %s %s %s (%s),' % \ |
|---|
| 226 | | (style.SQL_FIELD(backend.quote_name(f.m2m_column_name())), |
|---|
| 227 | | style.SQL_COLTYPE(data_types[get_rel_data_type(opts.pk)] % opts.pk.__dict__), |
|---|
| 228 | | style.SQL_KEYWORD('NOT NULL REFERENCES'), |
|---|
| 229 | | style.SQL_TABLE(backend.quote_name(opts.db_table)), |
|---|
| 230 | | style.SQL_FIELD(backend.quote_name(opts.pk.column)))) |
|---|
| 231 | | table_output.append(' %s %s %s %s (%s),' % \ |
|---|
| 232 | | (style.SQL_FIELD(backend.quote_name(f.m2m_reverse_name())), |
|---|
| 233 | | style.SQL_COLTYPE(data_types[get_rel_data_type(f.rel.to._meta.pk)] % f.rel.to._meta.pk.__dict__), |
|---|
| 234 | | style.SQL_KEYWORD('NOT NULL REFERENCES'), |
|---|
| 235 | | style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)), |
|---|
| 236 | | style.SQL_FIELD(backend.quote_name(f.rel.to._meta.pk.column)))) |
|---|
| 237 | | table_output.append(' %s (%s, %s)' % \ |
|---|
| 238 | | (style.SQL_KEYWORD('UNIQUE'), |
|---|
| 239 | | style.SQL_FIELD(backend.quote_name(f.m2m_column_name())), |
|---|
| 240 | | style.SQL_FIELD(backend.quote_name(f.m2m_reverse_name())))) |
|---|
| 241 | | table_output.append(');') |
|---|
| 242 | | final_output.append('\n'.join(table_output)) |
|---|
| | 221 | if not isinstance(f.rel, GenericRel): |
|---|
| | 222 | table_output = [style.SQL_KEYWORD('CREATE TABLE') + ' ' + \ |
|---|
| | 223 | style.SQL_TABLE(backend.quote_name(f.m2m_db_table())) + ' ('] |
|---|
| | 224 | table_output.append(' %s %s %s,' % \ |
|---|
| | 225 | (style.SQL_FIELD(backend.quote_name('id')), |
|---|
| | 226 | style.SQL_COLTYPE(data_types['AutoField']), |
|---|
| | 227 | style.SQL_KEYWORD('NOT NULL PRIMARY KEY'))) |
|---|
| | 228 | table_output.append(' %s %s %s %s (%s),' % \ |
|---|
| | 229 | (style.SQL_FIELD(backend.quote_name(f.m2m_column_name())), |
|---|
| | 230 | style.SQL_COLTYPE(data_types[get_rel_data_type(opts.pk)] % opts.pk.__dict__), |
|---|
| | 231 | style.SQL_KEYWORD('NOT NULL REFERENCES'), |
|---|
| | 232 | style.SQL_TABLE(backend.quote_name(opts.db_table)), |
|---|
| | 233 | style.SQL_FIELD(backend.quote_name(opts.pk.column)))) |
|---|
| | 234 | table_output.append(' %s %s %s %s (%s),' % \ |
|---|
| | 235 | (style.SQL_FIELD(backend.quote_name(f.m2m_reverse_name())), |
|---|
| | 236 | style.SQL_COLTYPE(data_types[get_rel_data_type(f.rel.to._meta.pk)] % f.rel.to._meta.pk.__dict__), |
|---|
| | 237 | style.SQL_KEYWORD('NOT NULL REFERENCES'), |
|---|
| | 238 | style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)), |
|---|
| | 239 | style.SQL_FIELD(backend.quote_name(f.rel.to._meta.pk.column)))) |
|---|
| | 240 | table_output.append(' %s (%s, %s)' % \ |
|---|
| | 241 | (style.SQL_KEYWORD('UNIQUE'), |
|---|
| | 242 | style.SQL_FIELD(backend.quote_name(f.m2m_column_name())), |
|---|
| | 243 | style.SQL_FIELD(backend.quote_name(f.m2m_reverse_name())))) |
|---|
| | 244 | table_output.append(');') |
|---|
| | 245 | final_output.append('\n'.join(table_output)) |
|---|