· 6 years ago · Jul 15, 2019, 02:44 AM
1CREATE TABLE `blogs` (
2 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
3 `name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4 PRIMARY KEY (`id`)
5) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
6
7/*Data for the table `blogs` */
8
9insert into `blogs`(`id`,`name`) values (1,'First blog');
10insert into `blogs`(`id`,`name`) values (2,'second bloc');
11
12/*Table structure for table `user` */
13
14DROP TABLE IF EXISTS `user`;
15
16CREATE TABLE `user` (
17 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
18 `name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
19 `blogid` int(10) unsigned NOT NULL,
20 PRIMARY KEY (`id`),
21 KEY `blogid` (`blogid`),
22 CONSTRAINT `user_ibfk_1` FOREIGN KEY (`blogid`) REFERENCES `blogs` (`id`)
23) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
24
25/*Data for the table `user` */
26
27insert into `user`(`id`,`name`,`blogid`) values (1,'user1',1);
28insert into `user`(`id`,`name`,`blogid`) values (2,'user2',2);
29
30/**
31* @Entity @Table(name="user")
32**/
33class User
34{
35
36 /**
37 * @var int
38 * @Id
39 * @GeneratedValue(strategy="IDENTITY")
40 * @Column(type="integer", options={"unsigned":true})
41 */
42 private $id;
43
44 /**
45 * @var string
46 * @Column(type="string", length=50)
47 */
48 private $name;
49
50
51 /**
52 * @var int
53 * @Column(type="integer", options={"unsigned":true})
54 * @ORMManyToOne(targetEntity="MyTestBlog", inversedBy="blogid")
55 * @ORMJoinColumn(name="blogid", referencedColumnName="id")
56 */
57 private $blogid;
58
59 //Getters setters...
60}
61
62namespace MyTest;
63use DoctrineORMMapping as ORM;
64
65/**
66 * @Entity @Table(name="blogs")
67 **/
68class Blog
69{
70
71 /**
72 * @var int
73 * @Id
74 * @GeneratedValue(strategy="IDENTITY")
75 * @Column(type="integer", options={"unsigned":true})
76 * @ORMOneToMany(targetEntity="MyTestUser", mappedBy="blogid")
77 */
78 private $id;
79
80 /**
81 * @var string
82 * @Column(type="string", length=50)
83 */
84 private $name;
85
86 //getters setters
87}
88
89ALTER TABLE blogs CHANGE name name VARCHAR(50) NOT NULL;
90ALTER TABLE user DROP FOREIGN KEY user_ibfk_1;
91DROP INDEX blogid ON user;
92ALTER TABLE user CHANGE name name VARCHAR(50) NOT NULL;