hi, Roy.
did you looked to 
http://www.symfony-project.org/doctrine/1_2/en/04-Schema-Files#chapter_04_sub_many_to_many
?
hope it will help.

On 30 ноя, 02:49, roy master <roymast...@gmail.com> wrote:
> Hello,
>
> I can't create tables for M:N relationship in symfony 1.4. What am I
> doing wrong?
>
> It should be relation between products and categories in an e-shop. (I
> first made symfony doctrine:build-schema and only slightly modified it
> to achieve foreign key creation. Without success :( )
>
> schema.yml
> TEshopProducts:
>   connection: doctrine
>   tableName: t_eshop_products
>   columns:
>     id:
>       type: integer(8)
>       unsigned: false
>       primary: true
>       autoincrement: true
>     nazev:
>       type: string(255)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     nazev_rozsiren:
>       type: string(255)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     nazev_seo:
>       type: string(255)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     slogan:
>       type: string(255)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     kod:
>       type: string(50)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     vyrobce:
>       type: integer(4)
>       fixed: false
>       unsigned: true
>       primary: false
>       default: '1'
>       notnull: true
>       autoincrement: false
>     zaruka:
>       type: integer(4)
>       fixed: false
>       unsigned: true
>       primary: false
>       default: '24'
>       notnull: true
>       autoincrement: false
>     cenabezdph_bezna:
>       type: float(10)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0.00'
>       notnull: false
>       autoincrement: false
>     cenasdph_bezna:
>       type: float(10)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0.00'
>       notnull: false
>       autoincrement: false
>     cenabezdph:
>       type: float(8)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0.00'
>       notnull: false
>       autoincrement: false
>     cenasdph:
>       type: float(8)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0.00'
>       notnull: false
>       autoincrement: false
>     cenabezdph_akce:
>       type: float(10)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     cenasdph_akce:
>       type: float(10)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     cenabezdph_phe:
>       type: float(6)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0.00'
>       notnull: true
>       autoincrement: false
>     cenasdph_phe:
>       type: float(6)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0.00'
>       notnull: true
>       autoincrement: false
>     stav:
>       type: integer(4)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0'
>       notnull: true
>       autoincrement: false
>     sklad:
>       type: integer(4)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '1'
>       notnull: true
>       autoincrement: false
>     sklad_datum:
>       type: date(25)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     predtext:
>       type: string()
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     text:
>       type: string()
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     kategorie:
>       type: integer(4)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     obrazek1:
>       type: string(200)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     obrazek2:
>       type: string(200)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     obrazek3:
>       type: string(200)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     obrazek4:
>       type: string(200)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     obrazek5:
>       type: string(200)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     obrazek6:
>       type: string(200)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     publikovano:
>       type: integer(1)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '1'
>       notnull: true
>       autoincrement: false
>     poradi:
>       type: integer(4)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '1'
>       notnull: true
>       autoincrement: false
>     jazyk:
>       type: string(5)
>       fixed: true
>       unsigned: false
>       primary: false
>       default: cs_CZ
>       notnull: true
>       autoincrement: false
>     web_title:
>       type: string(254)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     web_description:
>       type: string(254)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     web_keywords:
>       type: string(254)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     flag_akce:
>       type: integer(1)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0'
>       notnull: false
>       autoincrement: false
>     flag_doporucujeme:
>       type: integer(1)
>       fixed: false
>       unsigned: false
>       primary: false
>       default: '0'
>       notnull: false
>       autoincrement: false
>   relations:
>     TEshopProductsCatProductRef:
>       local: id
>       foreign: product_id
>       type: many
> TEshopProductsCat:
>   connection: doctrine
>   tableName: t_eshop_products_cat
>   columns:
>     id:
>       type: integer(8)
>       fixed: false
>       unsigned: true
>       primary: true
>       autoincrement: true
>     parent:
>       type: integer(8)
>       fixed: false
>       unsigned: true
>       primary: false
>       default: '0'
>       notnull: true
>       autoincrement: false
>     nazev:
>       type: string(200)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: true
>       autoincrement: false
>     nazev_menu:
>       type: string(255)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: true
>       autoincrement: false
>     nazev_seo:
>       type: string(100)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: true
>       autoincrement: false
>     web_title:
>       type: string(70)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: true
>       autoincrement: false
>     web_description:
>       type: string(200)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: true
>       autoincrement: false
>     web_keywords:
>       type: string(60)
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: true
>       autoincrement: false
>     popis:
>       type: string()
>       fixed: false
>       unsigned: false
>       primary: false
>       notnull: false
>       autoincrement: false
>     jazyk:
>       type: string(5)
>       fixed: true
>       unsigned: false
>       primary: false
>       default: cs_CZ
>       notnull: true
>       autoincrement: false
>     poradi:
>       type: integer(4)
>       fixed: false
>       unsigned: true
>       primary: false
>       default: '1'
>       notnull: true
>       autoincrement: false
>     publikovano:
>       type: integer(1)
>       fixed: false
>       unsigned: true
>       primary: false
>       default: '1'
>       notnull: true
>       autoincrement: false
>   relations:
>     TEshopProductsCatProductRef:
>       local: id
>       foreign: category_id
>       type: many
> TEshopProductsCatProductRef:
>   connection: doctrine
>   tableName: t_eshop_products_cat_product_ref
>   columns:
>     product_id:
>       type: integer(8)
>       fixed: false
>       unsigned: false
>       primary: true
>       autoincrement: false
>     category_id:
>       type: integer(8)
>       fixed: false
>       unsigned: false
>       primary: true
>       autoincrement: false
>   relations:
>     TEshopProducts:
>       local: product_id
>       foreign: id
>       type: one
>     TEshopProductsCat:
>       local: category_id
>       foreign: id
>       type: one
>
> But this only generates
>
> CREATE TABLE sf_guard_group (id INT AUTO_INCREMENT, name VARCHAR(255)
> UNIQUE, description TEXT, created_at DATETIME NOT NULL, updated_at
> DATETIME NOT NULL, PRIMARY KEY(id)) ENGINE = INNODB;
> CREATE TABLE sf_guard_group_permission (group_id INT, permission_id
> INT, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL,
> PRIMARY KEY(group_id, permission_id)) ENGINE = INNODB;
> CREATE TABLE sf_guard_permission (id INT AUTO_INCREMENT, name VARCHAR
> (255) UNIQUE, description TEXT, created_at DATETIME NOT NULL,
> updated_at DATETIME NOT NULL, PRIMARY KEY(id)) ENGINE = INNODB;
> CREATE TABLE sf_guard_remember_key (id INT AUTO_INCREMENT, user_id
> INT, remember_key VARCHAR(32), ip_address VARCHAR(50), created_at
> DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX user_id_idx
> (user_id), PRIMARY KEY(id, ip_address)) ENGINE = INNODB;
> CREATE TABLE sf_guard_user (id INT AUTO_INCREMENT, username VARCHAR
> (128) NOT NULL UNIQUE, algorithm VARCHAR(128) DEFAULT 'sha1' NOT NULL,
> salt VARCHAR(128), password VARCHAR(128), is_active TINYINT(1) DEFAULT
> '1', is_super_admin TINYINT(1) DEFAULT '0', last_login DATETIME,
> created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX
> is_active_idx_idx (is_active), PRIMARY KEY(id)) ENGINE = INNODB;
> CREATE TABLE sf_guard_user_group (user_id INT, group_id INT,
> created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY
> (user_id, group_id)) ENGINE = INNODB;
> CREATE TABLE sf_guard_user_permission (user_id INT, permission_id INT,
> created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY
> (user_id, permission_id)) ENGINE = INNODB;
> CREATE TABLE t_eshop_products (id BIGINT AUTO_INCREMENT, nazev VARCHAR
> (255), nazev_rozsiren VARCHAR(255), nazev_seo VARCHAR(255), slogan
> VARCHAR(255), kod VARCHAR(50), vyrobce INT UNSIGNED DEFAULT '1' NOT
> NULL, zaruka INT UNSIGNED DEFAULT '24' NOT NULL, cenabezdph_bezna FLOAT
> (10, 2) DEFAULT 0.00, cenasdph_bezna FLOAT(10, 2) DEFAULT 0.00,
> cenabezdph FLOAT(8, 2) DEFAULT 0.00, cenasdph FLOAT(8, 2) DEFAULT
> 0.00, cenabezdph_akce FLOAT(10, 2), cenasdph_akce FLOAT(10, 2),
> cenabezdph_phe FLOAT(6, 2) DEFAULT 0.00 NOT NULL, cenasdph_phe FLOAT
> (6, 2) DEFAULT 0.00 NOT NULL, stav INT DEFAULT '0' NOT NULL, sklad INT
> DEFAULT '1' NOT NULL, sklad_datum DATE, predtext TEXT, text TEXT,
> kategorie INT, obrazek1 VARCHAR(200), obrazek2 VARCHAR(200), obrazek3
> VARCHAR(200), obrazek4 VARCHAR(200), obrazek5 VARCHAR(200), obrazek6
> VARCHAR(200), publikovano TINYINT DEFAULT '1' NOT NULL, poradi INT
> DEFAULT '1' NOT NULL, jazyk CHAR(5) DEFAULT 'cs_CZ' NOT NULL,
> web_title VARCHAR(254), web_description VARCHAR(254), web_keywords
> VARCHAR(254), flag_akce TINYINT DEFAULT '0', flag_doporucujeme TINYINT
> DEFAULT '0', PRIMARY KEY(id)) ENGINE = INNODB;
> CREATE TABLE t_eshop_products_cat (id BIGINT UNSIGNED AUTO_INCREMENT,
> parent BIGINT UNSIGNED DEFAULT '0' NOT NULL, nazev VARCHAR(200) NOT
> NULL, nazev_menu VARCHAR(255) NOT NULL, nazev_seo VARCHAR(100) NOT
> NULL, web_title VARCHAR(70) NOT NULL, web_description VARCHAR(200) NOT
> NULL, web_keywords VARCHAR(60) NOT NULL, popis TEXT, jazyk CHAR(5)
> DEFAULT 'cs_CZ' NOT NULL, poradi INT UNSIGNED DEFAULT '1' NOT NULL,
> publikovano TINYINT UNSIGNED DEFAULT '1' NOT NULL, PRIMARY KEY(id))
> ENGINE = INNODB;
> CREATE TABLE t_eshop_products_cat_product_ref (product_id BIGINT,
> category_id BIGINT, PRIMARY KEY(product_id, category_id)) ENGINE =
> INNODB;
> ALTER TABLE sf_guard_group_permission ADD CONSTRAINT
> sf_guard_group_permission_permission_id_sf_guard_permission_id FOREIGN
> KEY (permission_id) REFERENCES sf_guard_permission(id) ON DELETE
> CASCADE;
> ALTER TABLE sf_guard_group_permission ADD CONSTRAINT
> sf_guard_group_permission_group_id_sf_guard_group_id FOREIGN KEY
> (group_id) REFERENCES sf_guard_group(id) ON DELETE CASCADE;
> ALTER TABLE sf_guard_remember_key ADD CONSTRAINT
> sf_guard_remember_key_user_id_sf_guard_user_id FOREIGN KEY (user_id)
> REFERENCES sf_guard_user(id) ON DELETE CASCADE;
> ALTER TABLE sf_guard_user_group ADD CONSTRAINT
> sf_guard_user_group_user_id_sf_guard_user_id FOREIGN KEY (user_id)
> REFERENCES sf_guard_user(id) ON DELETE CASCADE;
> ALTER TABLE sf_guard_user_group ADD CONSTRAINT
> sf_guard_user_group_group_id_sf_guard_group_id FOREIGN KEY (group_id)
> REFERENCES sf_guard_group(id) ON DELETE CASCADE;
> ALTER TABLE sf_guard_user_permission ADD CONSTRAINT
> sf_guard_user_permission_user_id_sf_guard_user_id FOREIGN KEY
> (user_id) REFERENCES sf_guard_user(id) ON DELETE CASCADE;
> ALTER TABLE sf_guard_user_permission ADD CONSTRAINT
> sf_guard_user_permission_permission_id_sf_guard_permission_id FOREIGN
> KEY (permission_id) REFERENCES sf_guard_permission(id) ON DELETE
> CASCADE;
> ALTER TABLE t_eshop_products_cat_product_ref ADD CONSTRAINT tcti
> FOREIGN KEY (category_id) REFERENCES t_eshop_products_cat(id);
> ALTER TABLE t_eshop_products_cat_product_ref ADD CONSTRAINT
> t_eshop_products_cat_product_ref_product_id_t_eshop_products_id
> FOREIGN KEY (product_id) REFERENCES t_eshop_products(id);
>
> Unfortunately mysql report error while creating constraint tcti. Am I
> missing anything?
>
> Mysql 5.1.37
>
> Regards,
>
> roy

--

You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-us...@googlegroups.com.
To unsubscribe from this group, send email to 
symfony-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en.


Reply via email to