89 lines
4.0 KiB
Java
89 lines
4.0 KiB
Java
import java.sql.Connection;
|
|
import java.sql.DriverManager;
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
|
|
public class PopulateNewsEventsEducation {
|
|
public static void main(String[] args) {
|
|
try {
|
|
Class.forName("oracle.jdbc.OracleDriver");
|
|
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/sisvietnam", "sisvietnam", "sisvietnam");
|
|
|
|
// Delete old duplicate posts
|
|
PreparedStatement delTagStmt = conn.prepareStatement("DELETE FROM sis_post_tag WHERE post_id >= 7000");
|
|
delTagStmt.executeUpdate();
|
|
|
|
PreparedStatement delStmt = conn.prepareStatement("DELETE FROM sis_post WHERE id >= 7000");
|
|
delStmt.executeUpdate();
|
|
|
|
// Get post 4151 to duplicate
|
|
PreparedStatement getPost = conn.prepareStatement("SELECT title, excerpt, content, meta_description, featured_image, category_id, layout, created_by FROM sis_post WHERE id = 4151");
|
|
ResultSet rs = getPost.executeQuery();
|
|
if (!rs.next()) {
|
|
System.out.println("Post 4151 not found!");
|
|
return;
|
|
}
|
|
|
|
String originalTitle = rs.getString("title");
|
|
String excerpt = rs.getString("excerpt");
|
|
String content = rs.getString("content");
|
|
String metaDesc = rs.getString("meta_description");
|
|
String featuredImage = rs.getString("featured_image");
|
|
long categoryId = rs.getLong("category_id");
|
|
boolean catIsNull = rs.wasNull();
|
|
|
|
String layout = rs.getString("layout");
|
|
String createdBy = rs.getString("created_by");
|
|
|
|
long currentId = 7000;
|
|
|
|
long[] tagIds = {4251, 4252, 6151}; // news, event, education
|
|
String[] prefixes = {"[Tin Tức] ", "[Sự Kiện] ", "[Đào Tạo] "};
|
|
String[] slugPrefixes = {"tin-tuc-", "su-kien-", "dao-tao-"};
|
|
|
|
PreparedStatement insertStmt = conn.prepareStatement(
|
|
"INSERT INTO sis_post (id, slug, title, excerpt, content, meta_description, featured_image, category_id, created_date, status, layout, created_by) " +
|
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, SYSDATE - ?, 'PUBLISHED', ?, ?)"
|
|
);
|
|
PreparedStatement tagStmt = conn.prepareStatement("INSERT INTO sis_post_tag (post_id, tag_id) VALUES (?, ?)");
|
|
|
|
for (int t = 0; t < 3; t++) {
|
|
for (int i = 1; i <= 4; i++) {
|
|
String title = prefixes[t] + originalTitle + " " + i;
|
|
String slug = slugPrefixes[t] + currentId;
|
|
|
|
insertStmt.setLong(1, currentId);
|
|
insertStmt.setString(2, slug);
|
|
insertStmt.setString(3, title);
|
|
insertStmt.setString(4, excerpt);
|
|
insertStmt.setString(5, content);
|
|
insertStmt.setString(6, metaDesc);
|
|
insertStmt.setString(7, featuredImage);
|
|
|
|
if (catIsNull) {
|
|
insertStmt.setNull(8, java.sql.Types.BIGINT);
|
|
} else {
|
|
insertStmt.setLong(8, categoryId);
|
|
}
|
|
|
|
insertStmt.setInt(9, i); // Subtract i days to vary dates
|
|
insertStmt.setString(10, layout);
|
|
insertStmt.setString(11, createdBy);
|
|
insertStmt.executeUpdate();
|
|
|
|
tagStmt.setLong(1, currentId);
|
|
tagStmt.setLong(2, tagIds[t]);
|
|
tagStmt.executeUpdate();
|
|
|
|
currentId++;
|
|
}
|
|
}
|
|
|
|
conn.close();
|
|
System.out.println("Done duplicating posts.");
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|